package com.newjiabo.ski.mapper;

import com.newjiabo.ski.domain.SkiConnect;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 联合登陆Mapper接口
 *
 * @author C
 * @date 2023-09-17
 */
public interface SkiConnectMapper {
    /**
     * 查询联合登陆
     *
     * @param id 联合登陆主键
     * @return 联合登陆
     */
    SkiConnect selectSkiConnectById(Long id);

    /**
     * 查询联合登陆列表
     *
     * @param skiConnect 联合登陆
     * @return 联合登陆集合
     */
    List<SkiConnect> selectSkiConnectList(SkiConnect skiConnect);

    /**
     * 新增联合登陆
     *
     * @param skiConnect 联合登陆
     * @return 结果
     */
    int insertSkiConnect(SkiConnect skiConnect);

    /**
     * 修改联合登陆
     *
     * @param skiConnect 联合登陆
     * @return 结果
     */
    int updateSkiConnect(SkiConnect skiConnect);

    /**
     * 删除联合登陆
     *
     * @param id 联合登陆主键
     * @return 结果
     */
    int deleteSkiConnectById(Long id);

    /**
     * 批量删除联合登陆
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteSkiConnectByIds(Long[] ids);

    /**
     * 通过 union_id 和 union_type 查询
     *
     * @param uuid
     * @param sourceEnumName
     * @return
     * @author CaoMengHui.
     * @date 2023/9/17 11:21
     */
    SkiConnect getByUnIdAndUnType(@Param("uuid") String uuid, @Param("sourceEnumName") String sourceEnumName);

    /**
     * 通过 unionId 和 unionType删除信息
     *
     * @param unionId
     * @param unionType
     * @return
     * @author CaoMengHui.
     * @date 2023/9/20 16:55
     */
    int deleteByUnionIdAndUnionType(@Param("unionId") String unionId, @Param("unionType") String unionType);

    /**
     * 通过userid查询信息
     *
     * @param memberId
     * @return
     * @author CaoMengHui.
     * @date 2023/9/22 16:27
     */
    SkiConnect selectByMemberId(String memberId);
}
